<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
    //     function get_sum(num1,num2){
    //         return num1+num2;
    //     }

    //     // 必须调用函数才能拿到结果
    //    var res =  get_sum(100,200);
    //    alert(res);

       // return的第一个作用  


       // 第二个作用  中断函数  


    //    循环的break 结束整个循环
    //    只要函数遇到return  那么就代表结束了 
        function get_sums(num1,num2,num3){
            return num1+num2;  //到这里函数就结束了
            alert(num3); // return 后边的代码不执行  
        }

        
        // 一个函数中可以有多个return 但是只执行其中一个 
        function is_deapyear(year){
            if(year % 4 ==0 && year % 100 !=0 || year % 400 ==0){
                return true; // 一旦执行了这个 后边的return就忽略了 
                return '666'
            }
            else{
                return false
            }
        }

        alert(is_deapyear(2004));

        // 函数中如果有while 或者 for 循环  
        // break 和 return 效果是一样的 都是中断代码 
        // 一般是用return 替代break 

        
        // 总结 
        // return  1 返回值  把结果给到你  
        //    2 中断函数  一旦遇到return 函数结束 
        //    3 return 后边的代码不执行  




        // 参数  
        // 形参 写在函数定义阶段小括号内,多个之间用,隔开 
        // 形参是一个临时变量 名字遵循标识符命名规则和规范 
        // 形参的值由实参决定
        // 实参 写在函数调用阶段小括号内,多个之间用,隔开 
        // 实参是从左到右依次传给形参  



        // 函数是一个工具  方法  
        // 多个代码重复出现的时候 可以把这些代码放到盒子里 

        // 定义阶段 
        //  声明式
        //  赋值式
        // 调用阶段 
            // 声明式函数 可以在定义之前调用  也可以定义以后调用 
            // 赋值式的函数 只能在定义以后调用 

        // 优点:
            // 1. 提升代码的复用性 
            // 2. 如果修改 只需要改函数就可以 其它就自动跟着修改



        // 



        
    </script>
</body>
</html>